package Regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo3 {
    public static void main(String[] args) {
        //有条件的爬取
        String str="Java11版本擦hi哦刺激啊v女娲精品，abbbbbbbbbabbbbabbabb，Java17撒绿啊九四六九物理v阿奎那军啦，Java8爱上吃辣今晚非农挖掘，" +
                "Java8还啊女垃圾二v啊v哪里看了，但是Java12就不一样了，Java17还是嘴啊后用的";
        //如果只爬取11 17 8的Java但是不显示后面的数字 那么用条件
        //只获取前半部分
        String s1="Java(?=11|8|17)";

        //获取11 17 8
        String s2="Java(11|8|17)";
        String s3="Java(?:11|8|17)";

        //获取除了11 17 8的java
        String s4="Java(?!11|17|8)";


        //贪婪爬取（默认）
        //尽可能多获取 ab+(*) -> abbbbbbb
        String s5="ab+";

        //非贪婪爬取
        //少          ab+(*)? ->ab
        String s6="ab+?";

//        Pattern p=Pattern.compile(s6);
//        Matcher m=p.matcher(str);
//
//        while(m.find()){
//            System.out.println(m.group());
//        }

        //识别正则表达式
        //判断字符串是否符合要求 matches
        //replaceAll  按照正则表达式的规则替换
        //split                      切割
        String str1="小菲菲aivawl173小君君valsnva小绫绫";
        String ss1="[\\w&&[^_]]+";
        String tmp=str1.replaceAll(ss1,"vs");
        System.out.println(tmp);

        String str2="小菲菲v小君君v小绫绫";
        String []arr=str1.split("[\\w&&[^_]]+");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
